package org.test.freemarker;

import java.io.File;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

import org.junit.Test;

import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;
import freemarker.template.TemplateException;

public class FreeMarker1 {
	
	@Test
	public void test1() throws IOException, TemplateException{
		
		Configuration cfg = new Configuration();
		// 指定一个加载模版的数据源
		// 这里我设置模版的根目录
		cfg.setDirectoryForTemplateLoading(new File("/where/you/store/templates"));
		// 指定模版如何查看数据模型.这个话题是高级主题…
		// 你目前只需要知道这么用就可以了:
		cfg.setObjectWrapper(new DefaultObjectWrapper());
		
		Template temp = cfg.getTemplate("test.ftl");
	
		//创建一个hash 类型作为数据模型的root
		Map root = new HashMap();
		//把字符串user 放置到root 中
		root.put("user", "Big Joe");
		//再创建一个hash 类型名字叫做latestProduct
		Map latest = new HashMap();
		//同样把它放置到root 中
		root.put("latestProduct", latest);
		//放置url 和name 属性到latest
		latest.put("url", "products/greenmouse.html");
		latest.put("name", "green mouse");
		
		Writer out = new OutputStreamWriter(System.out);
		temp.process(root, out);
		out.flush();
	}
	
	
}	
